#include <xscript/xscriptexecutor.h>
#include <astree/xabstractsyntaxtreebreak.h>

XAbstractSyntaxTreeBreak::XAbstractSyntaxTreeBreak(XTokenPtr inputToken):
    XAbstractSyntaxTree(inputToken) {
    setName(L"break");
}

bool XAbstractSyntaxTreeBreak::invoke(std::shared_ptr<XVariableTable> table) {
    if (hasChild()) {
        XScriptExecutor::getInstance()->setError(XError::XError_ArgumentTypeError, token->toString());
        return false;
    }
    invokeBreak = true;
    return true;
}
